package com.durian.domain.DTO;

import com.durian.enums.AddressStatus;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Positive;
import lombok.*;

import java.io.Serializable;

/**
 * 更新用户地址 DTO
 *
 * @author Durian
 * @since 2023-12-9
 */
@Data
@Builder
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class ObsAddressUpdateDTO implements Serializable {

    /**
     * 地址id
     */
    @Positive(message = "地址id格式有误")
    @NotNull(message = "地址id不能为空")
    private Long addressId;

    /**
     * 用户id
     */
    @Positive(message = "用户id格式有误")
    @NotNull(message = "用户id不能为空")
    private Long userId;

    /**
     * 地址
     */
    @NotBlank(message = "地址不能为空")
    private String address;

    /**
     * 详细地址
     */
    private String addressDetail;

    /**
     * 联系人
     */
    private String addressContact;

    /**
     * 手机号
     */
    @NotBlank(message = "手机号不能为空")
    private String addressPhone;

    /**
     * 是否默认地址(不是：0 是：1)
     */
    @NotNull(message = "状态不能为空")
    private AddressStatus addressStatus;
}
